package com.ruoyi.device.domain.vo;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 设备监控视图对象
 * 
 * @author ruoyi
 * @date 2025-10-18
 */
public class DeviceMonitorVO implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 设备ID */
    private String deviceId;

    /** 设备名称 */
    private String deviceName;

    /** 场所名称 */
    private String locationName;

    /** 场所地址 */
    private String locationAddress;

    /** WiFi网络名称(SSID) */
    private String wifiSsid;

    /** 设备状态(0-离线,1-在线,2-故障) */
    private Integer status;

    /** 当前在线用户数 */
    private Integer onlineUsers;

    /** 今日认证次数 */
    private Integer totalAuthToday;

    /** 今日成功率(%) */
    private BigDecimal successRateToday;

    /** 最后心跳时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastHeartbeat;

    /** 设备型号 */
    private String deviceModel;

    /** IP地址 */
    private String ipAddress;

    /** MAC地址 */
    private String macAddress;

    // Getters and Setters

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getLocationName() {
        return locationName;
    }

    public void setLocationName(String locationName) {
        this.locationName = locationName;
    }

    public String getLocationAddress() {
        return locationAddress;
    }

    public void setLocationAddress(String locationAddress) {
        this.locationAddress = locationAddress;
    }

    public String getWifiSsid() {
        return wifiSsid;
    }

    public void setWifiSsid(String wifiSsid) {
        this.wifiSsid = wifiSsid;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getOnlineUsers() {
        return onlineUsers;
    }

    public void setOnlineUsers(Integer onlineUsers) {
        this.onlineUsers = onlineUsers;
    }

    public Integer getTotalAuthToday() {
        return totalAuthToday;
    }

    public void setTotalAuthToday(Integer totalAuthToday) {
        this.totalAuthToday = totalAuthToday;
    }

    public BigDecimal getSuccessRateToday() {
        return successRateToday;
    }

    public void setSuccessRateToday(BigDecimal successRateToday) {
        this.successRateToday = successRateToday;
    }

    public Date getLastHeartbeat() {
        return lastHeartbeat;
    }

    public void setLastHeartbeat(Date lastHeartbeat) {
        this.lastHeartbeat = lastHeartbeat;
    }

    public String getDeviceModel() {
        return deviceModel;
    }

    public void setDeviceModel(String deviceModel) {
        this.deviceModel = deviceModel;
    }

    public String getIpAddress() {
        return ipAddress;
    }

    public void setIpAddress(String ipAddress) {
        this.ipAddress = ipAddress;
    }

    public String getMacAddress() {
        return macAddress;
    }

    public void setMacAddress(String macAddress) {
        this.macAddress = macAddress;
    }
}

